home *** CD-ROM | disk | FTP | other *** search
/ Amiga Collections: Purity / Purity #23 (1994-02-10)(Diesel)(DE)[WB].zip / Purity #23 (1994-02-10)(Diesel)(DE)[WB].adf / Tools / ArpSupport.p next >
Text File  |  1994-01-20  |  1KB  |  71 lines

  1. UNIT ArpSupport;
  2.  
  3. {$Projekt MyTools}
  4.  
  5. INTERFACE
  6.  
  7.   USES Intuition;
  8.  
  9.   PROCEDURE filereq(titel:STR; VAR Datei,Pfad:String);
  10.   FUNCTION  OpenArp(version : Integer) : BOOLEAN;
  11.   PROCEDURE CloseArp;
  12.  
  13. IMPLEMENTATION
  14.  
  15.  TYPE
  16.   Filerequester=RECORD
  17.    FR_Hail      : STR;
  18.    FR_File      : PTR;
  19.    FR_Dir       : PTR;
  20.    FR_Window    : p_window;
  21.    FR_Funcflags : Byte;
  22.    FR_Reserved  : Byte;
  23.    FR_Function  : PTR;
  24.    FR_Reseved2  : LONG;
  25.   END;
  26.  
  27.   VAR
  28.     ArpBase              : PTR;
  29.  
  30.   LIBRARY ArpBase:
  31.    -294:FUNCTION Filerequest(a0:PTR):LONG;
  32.   END;
  33.  
  34.   PROCEDURE filereq;
  35.     VAR requesterstruktur : Filerequester;
  36.           p_Datei, p_Pfad : PTR;
  37.   BEGIN
  38.    Datei:="";
  39.    p_Datei:=^Datei;
  40.    p_Pfad :=^Pfad;
  41.    Requesterstruktur:=Filerequester(Titel,p_Datei,p_Pfad,NIL,0,0,NIL,0);
  42.    IF Filerequest(^Requesterstruktur)<>0 THEN  {versteckter Funktionsaufruf!}
  43.     BEGIN
  44.      IF Pfad<>"" THEN
  45.       IF (pos(":",Pfad)<>Strlen(Pfad)) AND (pfad[(strlen(Pfad))]<>'/')
  46.       THEN Pfad:=Pfad+"";
  47.      IF (Datei<>"") AND (pfad<>'') AND (pfad[strlen(pfad)]<>':')
  48.                                        THEN Datei:=Pfad+'/'+Datei
  49.                                        ELSE Datei:=pfad+datei;
  50.     END;
  51.   END;
  52.  
  53.   FUNCTION OpenArp;
  54.   BEGIN
  55.     ArpBase := OpenLibrary("arp.library",version);
  56.     IF ArpBase = NIL THEN OpenArp := False ELSE OpenArp := True;
  57.   END;
  58.  
  59.   PROCEDURE CloseArp;
  60.   BEGIN
  61.     IF ArpBase <> NIL THEN CloseLibrary(ArpBase);
  62.     ArpBase := NIL;
  63.   END;
  64.  
  65. BEGIN
  66.   ArpBase := NIL;
  67. END.
  68.  
  69.  
  70.  
  71.